version 18.5
cd "[insert directory path here]"
use "rationing_data.dta", clear

drop if straightliner==1
********************************************************************************
**** DV's **********************************************************************
********************************************************************************
* Rationing fossil fuels that have significant negative climate effects
tab q1_9
clonevar fuel_ration=q1_9
* Climate tax on fossil fuels/fossil fuel vehicles
tab q1_6
clonevar fuel_tax=q1_6
* Rationing food that have significant negative climate effects
tab q1_5
clonevar food_ration=q1_5
* Climate tax on foods with high climate impact
tab q1_1
clonevar food_tax=q1_1

********************************************************************************
**** IV's **********************************************************************
********************************************************************************
clonevar cc=climate_concern

recode q15_6 1=1 2=0, gen(own_car_yn)
recode q15_7 1=1 2=0, gen(drive_car_day)
recode q15_1 1=1 2=0, gen (meat_con_yn)
recode q15_2 1=1 2=0, gen (meat_con_day)

recode fuel_ration 1/3=0 4/5=1,	gen(fuel_ration_support)
recode fuel_tax 1/3=0 4/5=1,	gen(fuel_tax_support)
recode food_ration 1/3=0 4/5=1,	gen(food_ration_support)
recode food_tax 1/3=0 4/5=1,	gen(food_tax_support)

recode fuel_ration 1/3=0 4/5=1	if ccode==840, gen(fuel_ration_support_us)
recode fuel_tax 1/3=0 4/5=1		if ccode==840, gen(fuel_tax_support_us)
recode food_ration 1/3=0 4/5=1	if ccode==840, gen(food_ration_support_us)
recode food_tax 1/3=0 4/5=1		if ccode==840, gen(food_tax_support_us)

recode fuel_ration 1/3=0 4/5=1	if ccode==710, gen(fuel_ration_support_za)
recode fuel_tax 1/3=0 4/5=1		if ccode==710, gen(fuel_tax_support_za)
recode food_ration 1/3=0 4/5=1	if ccode==710, gen(food_ration_support_za)
recode food_tax 1/3=0 4/5=1		if ccode==710, gen(food_tax_support_za)

recode fuel_ration 1/3=0 4/5=1	if ccode==356, gen(fuel_ration_support_in)
recode fuel_tax 1/3=0 4/5=1		if ccode==356, gen(fuel_tax_support_in)
recode food_ration 1/3=0 4/5=1	if ccode==356, gen(food_ration_support_in)
recode food_tax 1/3=0 4/5=1		if ccode==356, gen(food_tax_support_in)

recode fuel_ration 1/3=0 4/5=1	if ccode==276, gen(fuel_ration_support_de)
recode fuel_tax 1/3=0 4/5=1		if ccode==276, gen(fuel_tax_support_de)
recode food_ration 1/3=0 4/5=1	if ccode==276, gen(food_ration_support_de)
recode food_tax 1/3=0 4/5=1		if ccode==276, gen(food_tax_support_de)

recode fuel_ration 1/3=0 4/5=1	if ccode==76, gen(fuel_ration_support_br)
recode fuel_tax 1/3=0 4/5=1		if ccode==76, gen(fuel_tax_support_br)
recode food_ration 1/3=0 4/5=1	if ccode==76, gen(food_ration_support_br)
recode food_tax 1/3=0 4/5=1		if ccode==76, gen(food_tax_support_br)

recode fuel_ration 1/2=-1 3=0 4/5=1, gen(fuel_ration_bal)
recode fuel_tax 1/2=-1 3=0 4/5=1, gen(fuel_tax_bal)
recode food_ration 1/2=-1 3=0 4/5=1, gen(food_ration_bal)
recode food_tax 1/2=-1 3=0 4/5=1, gen(food_tax_bal)

**** Categorical variables --> dummy variables
qui tab age_3,		gen(agecat)
qui tab education,	gen(educat)
qui tab urban,		gen(urbcat)
qui tab pinc,		gen(inccat)

**** Standardized variables
egen std_gender=std(gender)
egen std_agecat1=std(agecat1)
egen std_agecat2=std(agecat2)
egen std_agecat3=std(agecat3)
egen std_educat1=std(educat1)
egen std_educat2=std(educat2)
egen std_educat3=std(educat3)
egen std_urbcat1=std(urbcat1)
egen std_urbcat2=std(urbcat2)
egen std_urbcat3=std(urbcat3)
egen std_inccat1=std(inccat1)
egen std_inccat2=std(inccat2)
egen std_inccat3=std(inccat3)
egen std_climate_concern=std(climate_concern)
egen std_own_car_yn=std(own_car_yn)
egen std_drive_car_day=std(drive_car_day)
egen std_meat_con_yn=std(meat_con_yn)
egen std_meat_con_day=std(meat_con_day)
* Labels
label var std_gender			"Female"
label var std_agecat1			"18-34 years"
label var std_agecat2			"35-54 years"
label var std_agecat3			"55+ years"
label var std_educat1			"Low"
label var std_educat2			"Medium"
label var std_educat3			"High"
label var std_urbcat1			"Urban"
label var std_urbcat2			"Suburban"
label var std_urbcat3			"Rural"
label var std_inccat1			"low"
label var std_inccat2			"Medium"
label var std_inccat3			"High"
label var std_climate_concern	"C. c. concern"
label var std_own_car_yn		"Owns car"
label var std_drive_car_day		"Drives car daily"
label var std_meat_con_yn		"Eats meat"
label var std_meat_con_day		"Eats meat daily"


*************************************
*** Results *************************
*************************************
* Figure 1: Acceptability of rationing and taxation of fossil fuels and high climate-impact foods across countries
sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support
bysort country: sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support


* ttest (testing whether there are significant differences between policies)
* All countries
ttest fuel_ration_support == fuel_tax_support, unpaired unequal
ttest food_ration_support == food_tax_support, unpaired unequal
* USA
ttest fuel_ration_support == fuel_tax_support if ccode==840, unpaired unequal
ttest food_ration_support == food_tax_support if ccode==840, unpaired unequal
* South Africa
ttest fuel_ration_support == fuel_tax_support if ccode==710, unpaired unequal
ttest food_ration_support == food_tax_support if ccode==710, unpaired unequal
* India
ttest fuel_ration_support == fuel_tax_support if ccode==356, unpaired unequal
ttest food_ration_support == food_tax_support if ccode==356, unpaired unequal
* Germany
ttest fuel_ration_support == fuel_tax_support if ccode==276, unpaired unequal
ttest food_ration_support == food_tax_support if ccode==276, unpaired unequal
* Brazil
ttest fuel_ration_support == fuel_tax_support if ccode==76, unpaired unequal
ttest food_ration_support == food_tax_support if ccode==76, unpaired unequal

* Table 2.2 (supp.) Testing mean differences between rationing items, within countries, using t-tests
* All countries
ttest fuel_ration_support == food_ration_support, unpaired unequal
* USA
ttest fuel_ration_support == food_ration_support if ccode==840, unpaired unequal
* South Africa
ttest fuel_ration_support == food_ration_support if ccode==710, unpaired unequal
* India
ttest fuel_ration_support == food_ration_support if ccode==356, unpaired unequal
* Germany
ttest fuel_ration_support == food_ration_support if ccode==276, unpaired unequal
* Brazil
ttest fuel_ration_support == food_ration_support if ccode==76, unpaired unequal



****************
**** Regression analysis
* Table 2: all countries
eststo: reg fuel_ration gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight], robust
eststo: reg fuel_tax gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day[pweight=weight], robust
eststo: reg food_ration gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight], robust
eststo: reg food_tax gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight], robust
esttab using table2_regression_all.rft, se r2 replace
eststo clear

* Table 3: all countries (standardized)
eststo: reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight], robust
eststo: reg fuel_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_y std_drive_car_day [pweight=weight], robust
eststo: reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight], robust
eststo: reg food_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight], robust
esttab using table3_regression_all_std.rft, se r2 replace
eststo clear


****************
**** Figure 2: The effect of sociodemographic factors, climate change concern and habits on acceptability of rationing
set scheme white_tableau
graph set window fontface "Arial"
** All countries
reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight], robust
estimates store ration_fuel_all

reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight], robust
estimates store ration_food_all

coefplot	(ration_fuel_all, msymbol(T) mlcolor("0 69 134") mfcolor("0 69 134") ciopts(lcolor("0 69 134"))) (ration_food_all, msymbol(O) mlcolor("197 149 39") mfcolor("197 149 39") ciopts(lcolor("197 149 39"))), ///
			drop(_cons) xline(0) xlabel(-.4(.2).6, gmin gmax) ///
			subtitle(Rationing: All countries, bcolor(white)) ///
			headings(std_gender="{it:Gender}" std_agecat2="{it:Age}" ///
			std_educat2="{it:Education}" std_urbcat2="{it:Region}" ///
			std_inccat2="{it:Personal income}", labs(small)) ///
			groups(std_gender std_inccat3 = "{bf:Sociodemographics}" ///
				   std_climate_concern=`""{bf:Climate}" "{bf:change}" "{bf:concern}""' ///
				   std_own_car_yn std_meat_con_day="{bf:Habits}", ang(90)) ///
			byopts(row(1)) legend(order(2 "Fossil fuel" 4 "High-impact food") row(1) pos(6)) ///
			name(ration_all, replace)
gr export "Figures/coefplot_ration_all.png", as(png) name("ration_all") replace
eststo clear

** USA
reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==840, robust
estimates store ration_fuel_us

reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==840, robust
estimates store ration_food_us

coefplot	(ration_fuel_us, msymbol(T) mlcolor("0 69 134") mfcolor("0 69 134") ciopts(lcolor("0 69 134"))) (ration_food_us, msymbol(O) mlcolor("197 149 39") mfcolor("197 149 39") ciopts(lcolor("197 149 39"))), ///
			drop(_cons) xline(0) xlabel(-.4(.2).6, gmin gmax) ///
			subtitle(Rationing: USA, bcolor(white)) ///
			headings(std_gender="{it:Gender}" std_agecat2="{it:Age}" ///
			std_educat2="{it:Education}" std_urbcat2="{it:Region}" ///
			std_inccat2="{it:Personal income}", labs(small)) ///
			groups(std_gender std_inccat3 = "{bf:Sociodemographics}" ///
				   std_climate_concern=`""{bf:Climate}" "{bf:change}" "{bf:concern}""' ///
				   std_own_car_yn std_meat_con_day="{bf:Habits}", ang(90)) ///
			byopts(row(1)) legend(order(2 "Fossil fuel" 4 "High-impact food") row(1) pos(6)) ///
			name(ration_us, replace)
gr export "Figures/coefplot_ration_us.png", as(png) name("ration_us") replace
eststo clear


** South Africa
reg fuel_ration std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==710, robust
estimates store ration_fuel_za

reg food_ration std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==710, robust
estimates store ration_food_za

coefplot	(ration_fuel_za, msymbol(T) mlcolor("0 69 134") mfcolor("0 69 134") ciopts(lcolor("0 69 134"))) (ration_food_za, msymbol(O) mlcolor("197 149 39") mfcolor("197 149 39") ciopts(lcolor("197 149 39"))), ///
			drop(_cons) xline(0) xlabel(-.4(.2).6, gmin gmax) ///
			subtitle(Rationing: South Africa, bcolor(white)) ///
			headings(std_gender="{it:Gender}" std_agecat2="{it:Age}" ///
			std_educat2="{it:Education}" std_urbcat2="{it:Region}" ///
			std_inccat2="{it:Personal income}", labs(small)) ///
			groups(std_gender std_inccat3 = "{bf:Sociodemographics}" ///
				   std_climate_concern=`""{bf:Climate}" "{bf:change}" "{bf:concern}""' ///
				   std_own_car_yn std_meat_con_day="{bf:Habits}", ang(90)) ///
			byopts(row(1)) legend(order(2 "Fossil fuel" 4 "High-impact food") row(1) pos(6)) ///
			name(ration_za, replace)
gr export "Figures/coefplot_ration_za.png", as(png) name("ration_za") replace
eststo clear

** India
reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==356, robust
estimates store ration_fuel_in

reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==356, robust
estimates store ration_food_in

coefplot	(ration_fuel_in, msymbol(T) mlcolor("0 69 134") mfcolor("0 69 134") ciopts(lcolor("0 69 134"))) (ration_food_in, msymbol(O) mlcolor("197 149 39") mfcolor("197 149 39") ciopts(lcolor("197 149 39"))), ///
			drop(_cons) xline(0) xlabel(-.4(.2).6, gmin gmax) ///
			subtitle(Rationing: India, bcolor(white)) ///
			headings(std_gender="{it:Gender}" std_agecat2="{it:Age}" ///
			std_educat2="{it:Education}" std_urbcat2="{it:Region}" ///
			std_inccat2="{it:Personal income}", labs(small)) ///
			groups(std_gender std_inccat3 = "{bf:Sociodemographics}" ///
				   std_climate_concern=`""{bf:Climate}" "{bf:change}" "{bf:concern}""' ///
				   std_own_car_yn std_meat_con_day="{bf:Habits}", ang(90)) ///
			byopts(row(1)) legend(order(2 "Fossil fuel" 4 "High-impact food") row(1) pos(6)) ///
			name(ration_in, replace)
gr export "Figures/coefplot_ration_in.png", as(png) name("ration_in") replace
eststo clear

** Germany
reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==276, robust
estimates store ration_fuel_de

reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==276, robust
estimates store ration_food_de

coefplot	(ration_fuel_de, msymbol(T) mlcolor("0 69 134") mfcolor("0 69 134") ciopts(lcolor("0 69 134"))) (ration_food_de, msymbol(O) mlcolor("197 149 39") mfcolor("197 149 39") ciopts(lcolor("197 149 39"))), ///
			drop(_cons) xline(0) xlabel(-.4(.2).6, gmin gmax) ///
			subtitle(Rationing: Germany, bcolor(white)) ///
			headings(std_gender="{it:Gender}" std_agecat2="{it:Age}" ///
			std_educat2="{it:Education}" std_urbcat2="{it:Region}" ///
			std_inccat2="{it:Personal income}", labs(small)) ///
			groups(std_gender std_inccat3 = "{bf:Sociodemographics}" ///
				   std_climate_concern=`""{bf:Climate}" "{bf:change}" "{bf:concern}""' ///
				   std_own_car_yn std_meat_con_day="{bf:Habits}", ang(90)) ///
			byopts(row(1)) legend(order(2 "Fossil fuel" 4 "High-impact food") row(1) pos(6)) ///
			name(ration_de, replace)
gr export "Figures/coefplot_ration_de.png", as(png) name("ration_de") replace
eststo clear

** Brazil
reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==76, robust
estimates store ration_fuel_br

reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==76, robust
estimates store ration_food_br

coefplot	(ration_fuel_br, msymbol(T) mlcolor("0 69 134") mfcolor("0 69 134") ciopts(lcolor("0 69 134"))) (ration_food_br, msymbol(O) mlcolor("197 149 39") mfcolor("197 149 39") ciopts(lcolor("197 149 39"))), ///
			drop(_cons) xline(0) xlabel(-.4(.2).6, gmin gmax) ///
			subtitle(Rationing: Brazil, bcolor(white)) ///
			headings(std_gender="{it:Gender}" std_agecat2="{it:Age}" ///
			std_educat2="{it:Education}" std_urbcat2="{it:Region}" ///
			std_inccat2="{it:Personal income}", labs(small)) ///
			groups(std_gender std_inccat3 = "{bf:Sociodemographics}" ///
				   std_climate_concern=`""{bf:Climate}" "{bf:change}" "{bf:concern}""' ///
				   std_own_car_yn std_meat_con_day="{bf:Habits}", ang(90)) ///
			byopts(row(1)) legend(order(2 "Fossil fuel" 4 "High-impact food") row(1) pos(6)) ///
			name(ration_br, replace)
gr export "Figures/coefplot_ration_br.png", as(png) name("ration_br") replace
eststo clear


* Final version
set scheme white_tableau
graph set window fontface "Arial"
coefplot	(ration_fuel_all, msymbol(T) mlcolor("0 69 134") mfcolor("0 69 134") ciopts(lcolor("0 69 134"))) (ration_food_all, msymbol(O) mlcolor("197 149 39") mfcolor("197 149 39") ciopts(lcolor("197 149 39"))), bylabel(All countries) || ///
			ration_fuel_us ration_food_us, bylabel(USA) || ///
			ration_fuel_za ration_food_za, bylabel(South Africa) || ///
			ration_fuel_in ration_food_in, bylabel(India) || ///
			ration_fuel_de ration_food_de, bylabel(Germany) || ///
			ration_fuel_br ration_food_br, bylabel(Brazil) ///
			drop(_cons) xline(0) xlabel(-.4(.2).6, gmin gmax) ///
			subtitle(, bcolor(white)) ///
			headings(std_gender="{it:Gender}" std_agecat2="{it:Age}" ///
			std_educat2="{it:Education}" std_urbcat2="{it:Region}" ///
			std_inccat2="{it:Personal income}", labs(small)) ///
			groups(std_gender std_inccat3 = "{bf:Sociodemographics}" ///
				   std_climate_concern=`""{bf:Climate}" "{bf:change}" "{bf:concern}""' ///
				   std_own_car_yn std_meat_con_day="{bf:Habits}", ang(90)) ///
			byopts(row(1)) legend(order(2 "Fossil fuel" 4 "High-impact food") row(1) pos(6)) ///
			name(fig_2, replace)
gr export "Figures/fig_2.pdf", as(pdf) name("fig_2") replace	
gr export "Figures/fig_2.eps", as(eps) name("fig_2") replace
gr export "Figures/fig_2.png", as(png) name("fig_2") replace


****************************************
*** Regression analysis, per country ***
****************************************
* Table 4: USA
eststo: reg fuel_ration gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==840, robust
eststo: reg fuel_tax gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==840, robust
eststo: reg food_ration gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==840, robust
eststo: reg food_tax gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==840, robust
esttab using table4_regression_US.rft, se r2 replace
eststo clear

* Table 5: USA (standardized)
eststo: reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==840, robust

eststo: reg fuel_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==840, robust

eststo: reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==840, robust

eststo: reg food_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==840, robust
esttab using table5_regression_US_std.rft, se r2 replace
eststo clear


* Table 4: ZA
eststo: reg fuel_ration gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==710, robust
eststo: reg fuel_tax gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==710, robust
eststo: reg food_ration gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==710, robust
eststo: reg food_tax gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==710, robust
esttab using table6_regression_ZA.rft, se r2 replace
eststo clear

* Table 5: ZA (standardized)
eststo: reg fuel_ration std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==710, robust
eststo: reg fuel_tax std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==710, robust
eststo: reg food_ration std_gender  std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==710, robust
eststo: reg food_tax std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==710, robust
esttab using table7_regression_ZA_std.rft, se r2 replace
eststo clear


* Table 4: IN
eststo: reg fuel_ration gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==356, robust
eststo: reg fuel_tax gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==356, robust
eststo: reg food_ration gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==356, robust
eststo: reg food_tax gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==356, robust
esttab using table8_regression_IN.rft, se r2 replace
eststo clear

* Table 5: IN (standardized)
eststo: reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==356, robust
eststo: reg fuel_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==356, robust
eststo: reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==356, robust
eststo: reg food_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==356, robust
esttab using table9_regression_IN_std.rft, se r2 replace
eststo clear


* Table 4: DE
eststo: reg fuel_ration gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==276, robust
eststo: reg fuel_tax gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==276, robust
eststo: reg food_ration gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==276, robust
eststo: reg food_tax gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==276, robust
esttab using table10_regression_DE.rft, se r2 replace
eststo clear

* Table 5: DE (standardized)
eststo: reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==276, robust
eststo: reg fuel_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==276, robust
eststo: reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==276, robust
eststo: reg food_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==276, robust
esttab using table11_regression_DE_std.rft, se r2 replace
eststo clear


* Table 4: BR
eststo: reg fuel_ration gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==76, robust
eststo: reg fuel_tax gender i.age_3 i.education i.urban i.pinc climate_concern own_car_yn drive_car_day [pweight=weight] if ccode==76, robust
eststo: reg food_ration gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==76, robust
eststo: reg food_tax gender i.age_3 i.education i.urban i.pinc climate_concern meat_con_yn meat_con_day [pweight=weight] if ccode==76, robust
esttab using table12_regression_BR.rft, se r2 replace
eststo clear

* Table 5: BR (standardized)
eststo: reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==76, robust
eststo: reg fuel_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight] if ccode==76, robust
eststo: reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==76, robust
eststo: reg food_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight] if ccode==76, robust
esttab using table13_regression_BR_std.rft, se r2 replace
eststo clear


***********************
*** SUPPLEMENTARIES ***
***********************

*** Descriptive statistics
* Table 1.1 Number of respondents per country
tab country

* Table 1.2 & 1.3 Table of frequencies
tab fuel_ration
tab fuel_tax
tab food_ration
tab food_tax
tab fuel_ration	if ccode==840 //USA
tab fuel_tax	if ccode==840 //USA
tab food_ration	if ccode==840 //USA
tab food_tax	if ccode==840 //USA
tab fuel_ration	if ccode==710 //South Africa
tab fuel_tax	if ccode==710 //South Africa
tab food_ration	if ccode==710 //South Africa
tab food_tax	if ccode==710 //South Africa
tab fuel_ration	if ccode==356 //India
tab fuel_tax	if ccode==356 //India
tab food_ration	if ccode==356 //India
tab food_tax	if ccode==356 //India
tab fuel_ration	if ccode==276 //Germany
tab fuel_tax	if ccode==276 //Germany
tab food_ration	if ccode==276 //Germany
tab food_tax	if ccode==276 //Germany
tab fuel_ration	if ccode==76 //Brazil
tab fuel_tax	if ccode==76 //Brazil
tab food_ration	if ccode==76 //Brazil
tab food_tax	if ccode==76 //Brazil

* Table 1.4 Percent acceptance
tab fuel_ration_support
tab fuel_tax_support
tab food_ration_support
tab food_tax_support
tab fuel_ration_support	if ccode==840 //USA
tab fuel_tax_support	if ccode==840 //USA
tab food_ration_support	if ccode==840 //USA
tab food_tax_support	if ccode==840 //USA
tab fuel_ration_support	if ccode==710 //South Africa
tab fuel_tax_support	if ccode==710 //South Africa
tab food_ration_support	if ccode==710 //South Africa
tab food_tax_support	if ccode==710 //South Africa
tab fuel_ration_support	if ccode==356 //India
tab fuel_tax_support	if ccode==356 //India
tab food_ration_support	if ccode==356 //India
tab food_tax_support	if ccode==356 //India
tab fuel_ration_support	if ccode==276 //Germany
tab fuel_tax_support	if ccode==276 //Germany
tab food_ration_support	if ccode==276 //Germany
tab food_tax_support	if ccode==276 //Germany
tab fuel_ration_support	if ccode==76 //Brazil
tab fuel_tax_support	if ccode==76 //Brazil
tab food_ration_support	if ccode==76 //Brazil
tab food_tax_support	if ccode==76 //Brazil

*Table 1.5 Tabulation of independent variables across and within countries (percent)
tab gender			if ccode==840 //change ccode for other countries
tab age_3			if ccode==840 //change ccode for other countries
tab education		if ccode==840 //change ccode for other countries
tab urban			if ccode==840 //change ccode for other countries
tab pinc			if ccode==840 //change ccode for other countries
tab climate_concern	if ccode==840 //change ccode for other countries
tab own_car_yn		if ccode==840 //change ccode for other countries
tab drive_car_day	if ccode==840 //change ccode for other countries
tab meat_con_yn		if ccode==840 //change ccode for other countries
tab meat_con_day	if ccode==840 //change ccode for other countries

* Table 1.6 Summation of dependent variables, per country (percent acceptability)
sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support
sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support if ccode==840 //USA
sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support if ccode==710 //South Africa
sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support if ccode==356 //India
sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support if ccode==276 //Germany
sum fuel_ration_support fuel_tax_support food_ration_support food_tax_support if ccode==76 //Brazil


* Table 1.7 Summation of variables
sum fuel_ration fuel_tax food_ration food_tax gender age_3 education urban pinc climate_concern own_car_yn drive_car_day meat_con_yn meat_con_day



*** Robustness tests
* Standardized ologit, all countries
eststo: ologit fuel_ration std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight], robust
eststo: ologit fuel_tax std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_own_car_y std_drive_car_day [pweight=weight], robust
eststo: ologit food_ration std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight], robust
eststo: ologit food_tax std_gender std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat2 std_urbcat3 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight], robust
esttab using "ologit_all_robustness_std.rft", se r2 replace
eststo clear

* Subset of respondents who completed the survey within +/- one standard deviations' time
preserve
*sum tot_time, d
*drop if tot_time < (r(mean) - 2 * r(sd) ) | tot_time > (r(mean) + 2 * r(sd)) //37 obs dropped
sum tot_time, d
drop if tot_time < (r(mean) - 1 * r(sd) ) | tot_time > (r(mean) + 1 * r(sd)) //72 obs dropped
eststo: reg fuel_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_yn std_drive_car_day [pweight=weight], robust
eststo: reg fuel_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_own_car_y std_drive_car_day [pweight=weight], robust
eststo: reg food_ration std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight], robust
eststo: reg food_tax std_gender std_agecat1 std_agecat2 std_agecat3 std_educat2 std_educat3 std_urbcat1 std_urbcat2 std_urbcat3 std_inccat1 std_inccat2 std_inccat3 std_climate_concern std_meat_con_yn std_meat_con_day [pweight=weight], robust
esttab using "onestddev_all_robustness_std.rft", se r2 replace
eststo clear
restore



